<?php
/* +----------------------------------------------------------------------
 * 作	   者: xinglou <xinglou1@foxmail.com>
 +----------------------------------------------------------------------
 * 创建日期：2015-06-24
 +----------------------------------------------------------------------
 * 文件描述：系统选项管理
 +----------------------------------------------------------------------
 * 升级记录：
 +----------------------------------------------------------------------
*/

class GroupsFormAction extends CommonAction {
	/**
	 * 显示页面
	 */
	public function index() {
		$model = new GroupsFormModel(); 
		
		// 条件检索
		if(!empty($_REQUEST['search_keyword'])) {
			$where['code|name'] = array('like', '%'.$this->_request('search_keyword').'%');
		}
		
		// 分页处理
		import('ORG.Util.Page'); // 导入分页类
		$count = $model->where($where)->count();  // 查询满足要求的总记录数
		$p = $this->_page($model, 'update_date', 'desc');  // 分页所需信息
		$page = new Page($count, $p['listRows']);  // 实例化分页类 传入总记录数和每页显示的记录数
		$data = $model->field("id,
		                        get_groups_name(groupsid) groupsid,
		                        get_form_name(formid) formid,
								begin_date,
								end_date")
					  ->where($where)
					  ->order("`".$p['order']."` ".$p['sort'])
					  ->limit($page->firstRow.', '.$page->listRows)
					  ->select();
		$this->assign('list', $data);
		$show = $page->show();	// 分页显示输出
		$this->assign('show', $show);	// 绑定分页显示字符串
		$this->display();
	}
	
	/**
	 * 显示添加页面
	 */
	public function add() {
		
		$this->assign('groups_list', $this->get_groups_list());
		$this->assign('form_list', $this->get_form_list());
		$this->display();
	}
	
	/**
	 * 将添加的信息写入数据库
	 */
	public function insert() {
		$model = new GroupsFormModel();
		$data = $model->create();
		if(false !== $data) {
			if(false !== $model->add()) {
				$this->success('添加成功', __APP__.'?g=Admin&m=GroupsForm&a=index');
			} else {
				$this->error('添加失败');
			}
		} else {
			$this->error($model->getError());
		}
	}
	
	/**
	 * 显示修改页面
	 */
		public function edit() {
				$id = $this->_request('id');
				$model = new GroupsFormModel();
				$data = $model->field("id,
				                        code,
				                        type,
										name,
										remark")
							  ->where("id = '".$id."'")
							  ->find();
				$this->assign('list',  $data);
				$this->assign('type_list', set_field_dict_list('GroupsForm', 'type'));
				$this->display();
			}
	
	/**
	 * 将修改的信息更新到数据库
	 */
	public function update() {
		$model = new GroupsFormModel();
		$data = $model->create();
		if(false !== $data) {
			$data = $model->save();
			if(false !== $data) {
				$this->success('修改成功', __APP__.'?g=Admin&m=GroupsForm&a=index');
			} else {
				$this->error('修改失败');
			}
		} else {
			$this->error($model->getError());
		}
	}
	/**
	 * 删除信息
	 */
	public function delete() {
		$deleteId = $this->_request('ids');
		if(!empty($deleteId) && is_array($deleteId)) {
			$model = new GroupsFormModel();
			$id = implode("','", $deleteId);	// 用','分割id数组，以便于拼装sql语句
			$id = "'".$id."'";	// 拼装sql语句，结果为'firstId','secondId',…
			if($data = $model->where("id in(".$id.")")->delete()) {
				redirect($_SERVER['HTTP_REFERER']);
			} else {
				$this->error('删除失败！');
			}
		} else {
			$this->error('您未选中需要删除的信息');
		}
	}
}
?>